From f1ae9f840fb23e51ef9cbc9d581a3eef33a7e2a9 Mon Sep 17 00:00:00 2001 From: Karol Kuczmarski Date: Fri, 12 May 2017 21:47:28 +0100 Subject: [PATCH] Fix PR comments --- src/cargo/ops/cargo_compile.rs | 6 ++++++ src/cargo/ops/cargo_rustc/mod.rs | 15 +++++---------- tests/build-script.rs | 6 +++++- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/cargo/ops/cargo_compile.rs b/src/cargo/ops/cargo_compile.rs index ef5aa9274..861f95bd7 100644 --- a/src/cargo/ops/cargo_compile.rs +++ b/src/cargo/ops/cargo_compile.rs @@ -709,6 +709,12 @@ fn scrape_target_config(config: &Config, triple: &str) let list = value.list(&k)?; output.cfgs.extend(list.iter().map(|v| v.0.clone())); } + "rustc-env" => { + for (name, val) in value.table(&k)?.0 { + let val = val.string(name)?.0; + output.env.push((name.clone(), val.to_string())); + } + } "warning" | "rerun-if-changed" => { bail!("`{}` is not supported in build script overrides", k); } diff --git a/src/cargo/ops/cargo_rustc/mod.rs b/src/cargo/ops/cargo_rustc/mod.rs index 9d9c56d2c..bf46397c7 100644 --- a/src/cargo/ops/cargo_rustc/mod.rs +++ b/src/cargo/ops/cargo_rustc/mod.rs @@ -428,17 +428,12 @@ fn rustc(cx: &mut Context, unit: &Unit, exec: Arc) -> CargoResult CargoResult<()> { - for key in build_scripts.to_link.iter() { - let output = build_state.get(key).chain_error(|| { - internal(format!("couldn't find build state for {}/{:?}", - key.0, key.1)) - })?; - if key.0 == *current_id { - for &(ref name, ref value) in output.env.iter() { - rustc.env(name, value); - } + let key = (current_id.clone(), Kind::Host); + if let Some(output) = build_state.get(&key) { + for &(ref name, ref value) in output.env.iter() { + rustc.env(name, value); } } Ok(()) diff --git a/tests/build-script.rs b/tests/build-script.rs index e663f5abc..31dbd7b46 100644 --- a/tests/build-script.rs +++ b/tests/build-script.rs @@ -1587,7 +1587,9 @@ fn env_build() { "#) .file("src/main.rs", r#" const FOO: &'static str = env!("FOO"); - fn main() {} + fn main() { + println!("{}", FOO); + } "#) .file("build.rs", r#" fn main() { @@ -1596,6 +1598,8 @@ fn env_build() { "#); assert_that(build.cargo_process("build").arg("-v"), execs().with_status(0)); + assert_that(build.cargo("run").arg("-v"), + execs().with_status(0).with_stdout("foo\n")); } #[test] -- 2.30.2